package com.kehutong.wxapi.response;

import org.coraframework.json.annotation.JSONField;

import java.util.List;

/**
 * 获取企业全部的发表列表响应对象
 * @author: liukunlong
 * @date: 2021-03-05 10:25
 */
public class GetMomentListResponse {

    /**
     * errcode
     */ /**
     * errcode : 0
     * errmsg : ok
     * next_cursor : CURSOR
     * moment_list : [{"moment_id":"momxxx","creator":"xxxx","create_time":"xxxx","create_type":1,"visible_type  ":1,"text":{"content":"test"},"image":[{"media_id":"WWCISP_xxxxx"}],"video":{"media_id":"WWCISP_xxxxx","thumb_media_id":"WWCISP_xxxxx"},"link":{"title":"腾讯网-QQ.COM","url":"https://www.qq.com"},"location":{"latitude":"23.10647","longitude":"113.32446","name":"广州市 · 广州塔"}}]
     */

    @JSONField(name = "errcode")
    private Integer errcode;
    /**
     * errmsg
     */
    @JSONField(name = "errmsg")
    private String errmsg;
    /**
     * nextCursor
     */
    @JSONField(name = "next_cursor")
    private String nextCursor;
    /**
     * momentList
     */
    @JSONField(name = "moment_list")
    private List<MomentListDTO> momentList;

    public Integer getErrcode() {
        return errcode;
    }

    public void setErrcode(Integer errcode) {
        this.errcode = errcode;
    }

    public String getErrmsg() {
        return errmsg;
    }

    public void setErrmsg(String errmsg) {
        this.errmsg = errmsg;
    }

    public String getNextCursor() {
        return nextCursor;
    }

    public void setNextCursor(String nextCursor) {
        this.nextCursor = nextCursor;
    }

    public List<MomentListDTO> getMomentList() {
        return momentList;
    }

    public void setMomentList(List<MomentListDTO> momentList) {
        this.momentList = momentList;
    }

    public static class MomentListDTO {
        /**
         * momentId
         */ /**
         * moment_id : momxxx
         * creator : xxxx
         * create_time : xxxx
         * create_type : 1
         * visible_type   : 1
         * text : {"content":"test"}
         * image : [{"media_id":"WWCISP_xxxxx"}]
         * video : {"media_id":"WWCISP_xxxxx","thumb_media_id":"WWCISP_xxxxx"}
         * link : {"title":"腾讯网-QQ.COM","url":"https://www.qq.com"}
         * location : {"latitude":"23.10647","longitude":"113.32446","name":"广州市 · 广州塔"}
         */

        @JSONField(name = "moment_id")
        private String momentId;
        /**
         * creator
         */
        @JSONField(name = "creator")
        private String creator;
        /**
         * createTime
         */
        @JSONField(name = "create_time")
        private String createTime;
        /**
         * createType
         */
        @JSONField(name = "create_type")
        private Integer createType;
        /**
         * visibleType  
         */
        @JSONField(name = "visible_type  ")
        private Integer visibleType;
        /**
         * text
         */
        @JSONField(name = "text")
        private TextDTO text;
        /**
         * image
         */
        @JSONField(name = "image")
        private List<ImageDTO> image;
        /**
         * video
         */
        @JSONField(name = "video")
        private VideoDTO video;
        /**
         * link
         */
        @JSONField(name = "link")
        private LinkDTO link;
        /**
         * location
         */
        @JSONField(name = "location")
        private LocationDTO location;

        public String getMomentId() {
            return momentId;
        }

        public void setMomentId(String momentId) {
            this.momentId = momentId;
        }

        public String getCreator() {
            return creator;
        }

        public void setCreator(String creator) {
            this.creator = creator;
        }

        public String getCreateTime() {
            return createTime;
        }

        public void setCreateTime(String createTime) {
            this.createTime = createTime;
        }

        public Integer getCreateType() {
            return createType;
        }

        public void setCreateType(Integer createType) {
            this.createType = createType;
        }

        public Integer getVisibleType() {
            return visibleType;
        }

        public void setVisibleType(Integer visibleType) {
            this.visibleType = visibleType;
        }

        public TextDTO getText() {
            return text;
        }

        public void setText(TextDTO text) {
            this.text = text;
        }

        public List<ImageDTO> getImage() {
            return image;
        }

        public void setImage(List<ImageDTO> image) {
            this.image = image;
        }

        public VideoDTO getVideo() {
            return video;
        }

        public void setVideo(VideoDTO video) {
            this.video = video;
        }

        public LinkDTO getLink() {
            return link;
        }

        public void setLink(LinkDTO link) {
            this.link = link;
        }

        public LocationDTO getLocation() {
            return location;
        }

        public void setLocation(LocationDTO location) {
            this.location = location;
        }

        public static class TextDTO {
            /**
             * content
             */ /**
             * content : test
             */

            @JSONField(name = "content")
            private String content;

            public String getContent() {
                return content;
            }

            public void setContent(String content) {
                this.content = content;
            }
        }

        public static class VideoDTO {
            /**
             * mediaId
             */ /**
             * media_id : WWCISP_xxxxx
             * thumb_media_id : WWCISP_xxxxx
             */

            @JSONField(name = "media_id")
            private String mediaId;
            /**
             * thumbMediaId
             */
            @JSONField(name = "thumb_media_id")
            private String thumbMediaId;

            public String getMediaId() {
                return mediaId;
            }

            public void setMediaId(String mediaId) {
                this.mediaId = mediaId;
            }

            public String getThumbMediaId() {
                return thumbMediaId;
            }

            public void setThumbMediaId(String thumbMediaId) {
                this.thumbMediaId = thumbMediaId;
            }
        }

        public static class LinkDTO {
            /**
             * title
             */ /**
             * title : 腾讯网-QQ.COM
             * url : https://www.qq.com
             */

            @JSONField(name = "title")
            private String title;
            /**
             * url
             */
            @JSONField(name = "url")
            private String url;

            public String getTitle() {
                return title;
            }

            public void setTitle(String title) {
                this.title = title;
            }

            public String getUrl() {
                return url;
            }

            public void setUrl(String url) {
                this.url = url;
            }
        }

        public static class LocationDTO {
            /**
             * latitude
             */ /**
             * latitude : 23.10647
             * longitude : 113.32446
             * name : 广州市 · 广州塔
             */

            @JSONField(name = "latitude")
            private String latitude;
            /**
             * longitude
             */
            @JSONField(name = "longitude")
            private String longitude;
            /**
             * name
             */
            @JSONField(name = "name")
            private String name;

            public String getLatitude() {
                return latitude;
            }

            public void setLatitude(String latitude) {
                this.latitude = latitude;
            }

            public String getLongitude() {
                return longitude;
            }

            public void setLongitude(String longitude) {
                this.longitude = longitude;
            }

            public String getName() {
                return name;
            }

            public void setName(String name) {
                this.name = name;
            }
        }

        public static class ImageDTO {
            /**
             * mediaId
             */ /**
             * media_id : WWCISP_xxxxx
             */

            @JSONField(name = "media_id")
            private String mediaId;

            public String getMediaId() {
                return mediaId;
            }

            public void setMediaId(String mediaId) {
                this.mediaId = mediaId;
            }
        }
    }
}
